import GCJ_CLASS_TYPE=require('./../../common/GCJ_CLASS_TYPE');
import ObjBase=require('./ObjBase');
import DEFINE=require('./../../common/DEFINE');
import PageInfo=require('./../../common/PageInfo');
import ObjPosition=require('./../base/ObjPosition');
import GroupObj=require('./GroupObj');
import BorderStyle=require('./apperance/item/BorderStyle');
var CommonUtil=require('../../../../common/util/CommonUtil');
var fs=require('fs');
var path=require('path');
var CONFIG=require('../../../../common/config');

export  = TableCellObj;
    

/**
 *
 * @author 
 *
 */
class TableCellObj extends GroupObj {

    public border: BorderStyle = new BorderStyle();// 边框样式
    
    public colNum: number=0;// 列号（0开始）

    public constructor(g?) {
        super(g);  //引入全局数据
        this.ct = GCJ_CLASS_TYPE.CLASS_TYPE_TableCellObj;
    }
    
    // 生成微调数据会用到
    public toJsonOfMinTextExt(): string {
        // 去掉父json字符串的头尾
        var superJson=super.toJsonOfMinTextExt();
        superJson=superJson.substr(1,superJson.length-2);

        var ret="{";
        ret+=superJson;
        
        // bgcolor
        // TODO 是否需要放在ObjBase中?!
        if(this.bgcolor) {
            ret+=",";
            ret+="\"bgcolor\":"+this.bgcolor.toJson();
        }
    
        ret+=',';
        ret+=('\"border\":'+this.border.toJson());

        ret+=',';
        ret+='\"colNum\":'+this.colNum;

        ret+="}";
        return ret;
    }
    
    // 转成json字符串
    public toJson(): string {
        var superJson=super.toJson();
        superJson=superJson.substr(1,superJson.length-2);

        var ret='{';
        ret+=superJson;

        ret+=',';
        ret+=('"border":'+this.border.toJson());
        
        ret+=',';
        ret+='"colNum":'+this.colNum;

        ret+='}';
        return ret;
    }

    // 从json对象(注意不是json字符串)中解析
    // 参数：self,true表示只拷贝自身数据，而不拷贝子的数据
    public fromJson(jsonObj,versionId,self?) {
        super.fromJson(jsonObj,versionId,self);

        if(jsonObj.hasOwnProperty("border")) {
            this.border.fromJson(jsonObj.border,versionId);
        }
        
        if(jsonObj.hasOwnProperty("colNum")) {
            this.colNum=jsonObj.colNum;
        }
    }
	
    // 获取对象名称
    public getObjetName(): string {
        return "单元格";
    }

    // 当作普通对象处理 (整体)
    public isSimple(): boolean {
        return false;
    }

}
//SJG_MARK_END-------------------------
